package com.zsummer.demo.rabbitmq.simplest;

import com.rabbitmq.client.*;
import com.zsummer.demo.rabbitmq.common.util.RabbitmqUtils;

import java.io.IOException;

/**
 * @author zsummer
 * @since 2021/12/9
 */
public class Producer {

    public static void main(String[] args) throws Exception{

        // 获取连接
        Connection connection = RabbitmqUtils.getConnection();
        // 获取通道
        Channel channel = connection.createChannel();
        /**
         * 队列声明
         * 参数1：队列名称
         * 参数2：队列是否持久化：true持久化，重启后队列依旧存在
         * 参数3：是否独占：true独占，队列只能被一个连接占用
         * 参数4：是否自动删除：true 不在使用时被删除
         * 参数5：队列额外设置
         */
        channel.queueDeclare("simplest", true, false, false, null);
        /**
         * 发布消息
         * 参数1：交换机
         * 参数2：路由键
         * 参数3：消息属性
         * 参数4：消息
         */
        channel.basicPublish("", "simplest", MessageProperties.PERSISTENT_TEXT_PLAIN, "hello".getBytes());
        // 关闭连接和通道
        RabbitmqUtils.close(connection, channel);

    }
}
